#ifndef PERCEPTION_H
#define PERCEPTION_H

#include "Environment/AbstractSituatedObject.hpp"
#include <string>

class Perception{

private:

    AbstractSituatedObject *m_perceivedObject;

public:
    Perception(AbstractSituatedObject& a){
        m_perceivedObject = &a;
    }

    ~Perception(){
        delete m_perceivedObject;
    }

    inline AbstractSituatedObject* getPerceivedObject() {
        return m_perceivedObject;
    }

    bool isSoldier() {
        return (m_perceivedObject->getType() == "SOLDIER");
    }

    bool isStone() {
        return (m_perceivedObject->getType() == "STONE");
    }
};

#endif // PERCEPTION_H
